#ifndef OBJECT_H
#define OBJECT_H
#include <string>
using namespace std;
class Class;
class Method;
class Image;
class VPTR_Entry{
   public:
   Method* method;
};
typedef VPTR_Entry *VPTR;
class Object;
class Object{
   public:
   VPTR vptr;
   Class* getClass(Image* image);
   void* dataAt(int offset);
   void set(string field,Object* value);
   Object* get(string field);
   Object* send(Image* image,string selector,int argc,Object** argv);
   bool isKindOf(Class* cls);
};
#endif
